package com.library.xtype;

import java.util.List;

/**
 * adapter接口,适配RecyclerView和listView的adapter
 *
 * @author: zhiwei
 * @date: 2016-12-28 13:17
 * @version: 9.1.0
 */
public interface IAdapter<T> {
    /**
     * 清空adapter
     */
    void clearData();

    /**
     * 更新数据
     *
     * @param data List<T>
     */
    void flushData(List<T> data);

    /**
     * 添加数据
     *
     * @param data List<T>
     */
    void appendData(List<T> data);

    /**
     * 获取数据
     *
     * @param position position
     * @return item VO
     */
    T getItem(int position);

    /**
     * 获取adapter count
     *
     * @return count
     */
    int getRealCount();

    /**
     * 更新adapter
     */
    void notifyDataSetChanged();

    /**
     * 删除莫一条数据
     *
     * @param data data
     */
    void removeData(T data);

    /**
     * 只读，不要修改
     *
     * @return all data list
     */
    List<T> getAllData();
}
